package com.liyafeng.algorithm;

public class Main {

    /**
     * 1.首先我们解决一个抽象问题的思路是将这个问题具体化
     * 比如在二维数组总查找数字那个，先拿个具体的例子分析，再抽象
     *
     * 2.保证程序的健壮性，要做边界判断，异常输入的处理，这是面试时候重要的一点，不能说你写的程序输入一个特殊的case就崩溃
     *
     * 3.算法不能背代码，要记住流程，或者某个具体的例子
     *
     * 4.排序，查找，字符串，树，图，压缩算法
     *
     * 5.思考问题一开始不要想的太复杂，去掉特殊情况，去掉边界条件
     * 举一个具体简单的例子，模拟解决方法的过程，然后写出代码
     * 后面再加入特殊情况的判断
     * 一开始我们就假设理想情况解决
     *
     * 6.命名规范，逻辑清晰，代码能处理各种可能的异常参数
     *
     * 7.要熟悉问题的分析过程，然后解决思路（多做题多总结）
     *
     * 8.画图，举例，分治，辅助空间
     *
     *
     * ===============建模========================
     * 使用合理的数据结构来表述问题，其实就是将文字问题转化为用公式，数据结构表述的问题
     *
     * @param args
     */
    public static void main(String[] args) {
	    // write your code here
        System.out.printf("hello");

    }

    /**
     * 解法索引：
     * 链表中是否有环？{@link com.liyafeng.algorithm.practice.N_Unknow_HasCircleInLinkList}
     * 反转链表 {@link com.liyafeng.algorithm.sword2offer.N16_ReverseList}
     * 合并多个有序链表 {@link com.liyafeng.algorithm.sword2offer.N17_MergeSortedLists}
     *
     */
}
